package net.maku.express.biza.controller.collectExpress.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @Author wenyignying'
 * @Description:
 * @Date
 */
@Data
@Schema(description = "请求类")
@EqualsAndHashCode(callSuper = true)
public class CollectExpressRequestVo extends CollectExpressBasePageVO {

    @Schema(description = "id")
    private Long id;

    /**
     * 收据单号
     */
    @Schema(description = "收据单号")
    private String collectNo;

    /**
     * 订单号
     */
    @Schema(description = "订单号")
    private String ordersNo;

    /**
     * 快递单号
     */
    @Schema(description = "快递单号")
    private String expressNo;

    /**
     * 打包状态:1.未打包,2:已打包;3:部分打包
     */
    @Schema(description = "打包状态:1.未打包,2:已打包;3:部分打包")
    private Integer collectState;

    /**
     * 始发地
     */
    @Schema(description = "始发地")
    private Integer originId;

    /**
     * 目的地id
     */
    @Schema(description = "目的地")
    private Integer destId;

    /**
     * 业务类型:1:空运,2:海运
     */
    @Schema(description = "业务类型:1:空运,2:海运")
    private Integer businessState;

    /**
     * 发货人
     */
    @Schema(description = "发货人")
    private String sendor;

    /**
     * 收货人
     */
    @Schema(description = "收货人")
    private String collector;


    /**
     * id
     */
    @Schema(description = "客户")
    private Integer customId;

    /**
     * 客服id
     */
    @Schema(description = "客服")
    private Integer businessId;

    /**
     * 货仓
     */
    @Schema(description = "始发地货仓")
    private Integer goodsHourseOrigin;

    /**
     * 货仓
     */
    @Schema(description = "目的地货仓")
    private Integer goodsHourseDest;

    /**
     * 收货日期
     */
    @Schema(description = "收货日期开始")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date collectTimeStart;


    @Schema(description = "收货日期结束")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date collectTimeEnd;

    /**
     * 创建日期
     */
    @Schema(description = "创建日期开始")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTimeStart;

    @Schema(description = "创建日期结束")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTimeEnd;

    @Schema(description = "状态:1:已收货,2:已装箱,3:档口已出仓,4:海外已入仓")
    private Integer goodsState;

    @Schema(description = "出货状态:1:未出货,2:已出货")
    private Integer shState;

    /**
     * 发货人电话
     */
    @Schema(description = "发货人电话")
    private String sendorPhone;

    /**
     * 收货人电话
     */
    @Schema(description = " 收货人电话")
    private String collectorPhone;

    /**
     * 件状态:0正常件,1:问题件
     */
    @Schema(description = "件状态:0正常件,1:问题件")
    private Integer questionState;

    /**
     * 付款方式:1:PP,2:CC,3:半月结,4:月结
     */
    @Schema(description = "付款方式:1:PP,2:CC,3:半月结,4:月结")
    private Integer payState;

    /**
     * 到货方式：1:快递派送,2:客户自送
     */
    @Schema(description = "到货方式：1:快递派送,2:客户自送")
    private Integer arrivalState;

    /**
     * 地址
     */
    @Schema(description = "地址")
    private String address;

    /*计费重类型:1:重量,2:万方kg*/
    @Schema(description = "计费重类型:1:重量kg,2:万方")
    private Integer chargedState;

    /**
     * 箱号
     */
    @Schema(description = "箱号")
    private String boxNo;
    /**
     * 货物类型
     */
    @Schema(description = "货物类型:1:普货,2:敏感货,3:单证普货,4:单证敏感货")
    private Long collectType;


}
